import { createRouter, createWebHashHistory } from 'vue-router'
import { constantRoute } from './routes'
import { useRouter } from 'vue-router'

let router = createRouter({
    history: createWebHashHistory(),
    routes: constantRoute,//routes 属性： Vue Router 必需的配置项接受一个路由配置数组定义了 URL 路径与 Vue 组件之间的映射关系
    scrollBehavior() {
        return {
            left: 0,
            top: 0
        }
    }
})

// 全局前置守卫
router.beforeEach((to, from, next) => {
    const token = localStorage.getItem('token');
    // 需要登录才能访问的页面
    const needAuthPaths = ['/layout', '/land', '/crop', '/consumer', '/admin'];
    // 判断是否访问登录页
    if (to.path === '/' || to.name === 'Login') {
        if (token) {
            // 已登录，跳转到layout首页
            next('/layout');
        } else {
            next();
        }
    } else if (needAuthPaths.some(path => to.path.startsWith(path))) {
        // 访问需要登录的页面
        if (!token) {
            next('/');
        } else {
            next();
        }
    } else {
        next();
    }
});

export default router